home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / AIncludes / Devices.a < prev    next >
Encoding:
Text File  |  1996-01-24  |  15.5 KB  |  593 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Devices.a
  3. ;
  4. ;    Contains:    Device Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.2 in “MPW” on ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__DEVICES__') = 'UNDEFINED' THEN
  21. __DEVICES__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  25.     include 'OSUtils.a'
  26.     ENDIF
  27. ;        include 'Types.a'                                            ;
  28. ;            include 'ConditionalMacros.a'                            ;
  29. ;        include 'MixedMode.a'                                        ;
  30. ;        include 'Memory.a'                                            ;
  31.  
  32.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  33.     include 'Files.a'
  34.     ENDIF
  35. ;        include 'Finder.a'                                            ;
  36.  
  37.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  38.     include 'Quickdraw.a'
  39.     ENDIF
  40. ;        include 'QuickdrawText.a'                                    ;
  41.  
  42.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  43.     include 'Events.a'
  44.     ENDIF
  45.  
  46.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  47.     include 'Dialogs.a'
  48.     ENDIF
  49. ;        include 'Errors.a'                                            ;
  50. ;        include 'Menus.a'                                            ;
  51. ;        include 'Controls.a'                                        ;
  52. ;        include 'Windows.a'                                        ;
  53. ;        include 'TextEdit.a'                                        ;
  54.  
  55. chooserInitMsg                    EQU        11                    ; the user selected this device package 
  56. newSelMsg                        EQU        12                    ; the user made new device selections 
  57. fillListMsg                        EQU        13                    ; fill the device list with choices 
  58. getSelMsg                        EQU        14                    ; mark one or more choices as selected 
  59. selectMsg                        EQU        15                    ; the user made a selection 
  60. deselectMsg                        EQU        16                    ; the user canceled a selection 
  61. terminateMsg                    EQU        17                    ; allows device package to clean up 
  62. buttonMsg                        EQU        19                    ; the user selected a button 
  63.  
  64. ; Values of the 'caller' parameter to a Chooser device package 
  65. chooserID                        EQU        1
  66.  
  67. ; Values of the 'message' parameter to a Control Panel 'cdev' 
  68. initDev                            EQU        0                    ;Time for cdev to initialize itself
  69. hitDev                            EQU        1                    ;Hit on one of my items
  70. closeDev                        EQU        2                    ;Close yourself
  71. nulDev                            EQU        3                    ;Null event
  72. updateDev                        EQU        4                    ;Update event
  73. activDev                        EQU        5                    ;Activate event
  74. deactivDev                        EQU        6                    ;Deactivate event
  75. keyEvtDev                        EQU        7                    ;Key down/auto key
  76. macDev                            EQU        8                    ;Decide whether or not to show up
  77. undoDev                            EQU        9
  78. cutDev                            EQU        10
  79. copyDev                            EQU        11
  80. pasteDev                        EQU        12
  81. clearDev                        EQU        13
  82. cursorDev                        EQU        14
  83.  
  84. ; Special values a Control Panel 'cdev' can return 
  85. cdevGenErr                        EQU        -1                    ;General error; gray cdev w/o alert
  86. cdevMemErr                        EQU        0                    ;Memory shortfall; alert user please
  87. cdevResErr                        EQU        1                    ;Couldn't get a needed resource; alert
  88. cdevUnset                        EQU        3                    ; cdevValue is initialized to this
  89.  
  90. ; Values of the 'message' parameter to a Monitor 'mntr' 
  91. initMsg                            EQU        1                    ;initialization
  92. okMsg                            EQU        2                    ;user clicked OK button
  93. cancelMsg                        EQU        3                    ;user clicked Cancel button
  94. hitMsg                            EQU        4                    ;user clicked control in Options dialog
  95. nulMsg                            EQU        5                    ;periodic event
  96. updateMsg                        EQU        6                    ;update event
  97. activateMsg                        EQU        7                    ;not used
  98. deactivateMsg                    EQU        8                    ;not used
  99. keyEvtMsg                        EQU        9                    ;keyboard event
  100. superMsg                        EQU        10                    ;show superuser controls
  101. normalMsg                        EQU        11                    ;show only normal controls
  102. startupMsg                        EQU        12                    ;code has been loaded
  103.  
  104. ; control codes for DeskAccessories 
  105. goodbye                            EQU        -1                    ; heap being reinitialized 
  106. killCode                        EQU        1                    ; KillIO requested 
  107. accEvent                        EQU        64                    ; handle an event 
  108. accRun                            EQU        65                    ; time for periodic action 
  109. accCursor                        EQU        66                    ; change cursor shape 
  110. accMenu                            EQU        67                    ; handle menu item 
  111. accUndo                            EQU        68                    ; handle undo command 
  112. accCut                            EQU        70                    ; handle cut command 
  113. accCopy                            EQU        71                    ; handle copy command 
  114. accPaste                        EQU        72                    ; handle paste command 
  115. accClear                        EQU        73                    ; handle clear command 
  116.  
  117. ; Control/Status Call Codes 
  118. drvStsCode                        EQU        8                    ; status call code for drive status 
  119. ejectCode                        EQU        7                    ; control call eject code 
  120. tgBuffCode                        EQU        8                    ; set tag buffer code 
  121.  
  122. ; miscellaneous Device Manager constants 
  123. ioInProgress                    EQU        1                    ; predefined value of ioResult while I/O is pending 
  124. aRdCmd                            EQU        2                    ; low byte of ioTrap for Read calls 
  125. aWrCmd                            EQU        3                    ; low byte of ioTrap for Write calls 
  126. asyncTrpBit                        EQU        10                    ; trap word modifier 
  127. noQueueBit                        EQU        9                    ; trap word modifier 
  128.  
  129. ; flags used in the driver header and device control entry 
  130. dReadEnable                        EQU        0                    ; set if driver responds to read requests 
  131. dWritEnable                        EQU        1                    ; set if driver responds to write requests 
  132. dCtlEnable                        EQU        2                    ; set if driver responds to control requests 
  133. dStatEnable                        EQU        3                    ; set if driver responds to status requests 
  134. dNeedGoodBye                    EQU        4                    ; set if driver needs time for performing periodic tasks 
  135. dNeedTime                        EQU        5                    ; set if driver needs time for performing periodic tasks 
  136. dNeedLock                        EQU        6                    ; set if driver must be locked in memory as soon as it is opened 
  137. dNeedLockMask                    EQU        $4000                ; set if driver must be locked in memory as soon as it is opened 
  138. dNeedTimeMask                    EQU        $2000                ; set if driver needs time for performing periodic tasks 
  139. dNeedGoodByeMask                EQU        $1000                ; set if driver needs to be called before the application heap is initialized 
  140. dStatEnableMask                    EQU        $0800                ; set if driver responds to status requests 
  141. dCtlEnableMask                    EQU        $0400                ; set if driver responds to control requests 
  142. dWritEnableMask                    EQU        $0200                ; set if driver responds to write requests 
  143. dReadEnableMask                    EQU        $0100                ; set if driver responds to read requests 
  144.  
  145. ; run-time flags used in the device control entry 
  146. dOpened                            EQU        5                    ; driver is open 
  147. dRAMBased                        EQU        6                    ; dCtlDriver is a handle (1) or pointer (0) 
  148. drvrActive                        EQU        7                    ; driver is currently processing a request 
  149. drvrActiveMask                    EQU        $0080                ; driver is currently processing a request 
  150. dRAMBasedMask                    EQU        $0040                ; dCtlDriver is a handle (1) or pointer (0) 
  151. dOpenedMask                        EQU        $0020                ; driver is open 
  152.  
  153. DRVRHeader                 RECORD    0
  154. drvrFlags                 ds.w   1        ; offset: $0 (0)
  155. drvrDelay                 ds.w   1        ; offset: $2 (2)
  156. drvrEMask                 ds.w   1        ; offset: $4 (4)
  157. drvrMenu                 ds.w   1        ; offset: $6 (6)
  158. drvrOpen                 ds.w   1        ; offset: $8 (8)
  159. drvrPrime                 ds.w   1        ; offset: $A (10)
  160. drvrCtl                     ds.w   1        ; offset: $C (12)
  161. drvrStatus                 ds.w   1        ; offset: $E (14)
  162. drvrClose                 ds.w   1        ; offset: $10 (16)
  163. drvrName                 ds.b   1        ; offset: $12 (18)
  164.                          ORG 20
  165. sizeof                     EQU *            ; size:   $14 (20)
  166.                         ENDR
  167.  
  168. ; typedef struct DRVRHeader  DRVRHeader
  169. ; typedef DRVRHeader         *DRVRHeaderPtr, **DRVRHeaderHandle
  170. DCtlEntry                 RECORD    0
  171. dCtlDriver                 ds.l   1        ; offset: $0 (0)
  172. dCtlFlags                 ds.w   1        ; offset: $4 (4)
  173. dCtlQHdr                 ds     QHdr    ; offset: $6 (6)
  174. dCtlPosition             ds.l   1        ; offset: $10 (16)
  175. dCtlStorage                 ds.l   1        ; offset: $14 (20)
  176. dCtlRefNum                 ds.w   1        ; offset: $18 (24)
  177. dCtlCurTicks             ds.l   1        ; offset: $1A (26)
  178. dCtlWindow                 ds.l   1        ; offset: $1E (30)
  179. dCtlDelay                 ds.w   1        ; offset: $22 (34)
  180. dCtlEMask                 ds.w   1        ; offset: $24 (36)
  181. dCtlMenu                 ds.w   1        ; offset: $26 (38)
  182. sizeof                     EQU *            ; size:   $28 (40)
  183.                         ENDR
  184.  
  185. ; typedef struct DCtlEntry     DCtlEntry
  186. ; typedef DCtlEntry         *DCtlPtr, **DCtlHandle
  187. AuxDCE                     RECORD    0
  188. dCtlDriver                 ds.l   1        ; offset: $0 (0)
  189. dCtlFlags                 ds.w   1        ; offset: $4 (4)
  190. dCtlQHdr                 ds     QHdr    ; offset: $6 (6)
  191. dCtlPosition             ds.l   1        ; offset: $10 (16)
  192. dCtlStorage                 ds.l   1        ; offset: $14 (20)
  193. dCtlRefNum                 ds.w   1        ; offset: $18 (24)
  194. dCtlCurTicks             ds.l   1        ; offset: $1A (26)
  195. dCtlWindow                 ds.l   1        ; offset: $1E (30)
  196. dCtlDelay                 ds.w   1        ; offset: $22 (34)
  197. dCtlEMask                 ds.w   1        ; offset: $24 (36)
  198. dCtlMenu                 ds.w   1        ; offset: $26 (38)
  199. dCtlSlot                 ds.b   1        ; offset: $28 (40)
  200. dCtlSlotId                 ds.b   1        ; offset: $29 (41)
  201. dCtlDevBase                 ds.l   1        ; offset: $2A (42)
  202. dCtlOwner                 ds.l   1        ; offset: $2E (46)
  203. dCtlExtDev                 ds.b   1        ; offset: $32 (50)
  204. fillByte                 ds.b   1        ; offset: $33 (51)
  205. dCtlNodeID                 ds.l   1        ; offset: $34 (52)
  206. sizeof                     EQU *            ; size:   $38 (56)
  207.                         ENDR
  208.  
  209. ; typedef struct AuxDCE     AuxDCE
  210. ; typedef AuxDCE             *AuxDCEPtr, **AuxDCEHandle
  211.     IF ¬ OLDROUTINELOCATIONS  THEN
  212. ;
  213. ; pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  214. ;
  215.     IF ¬ GENERATINGCFM THEN
  216.         ; parameters: 
  217.         ;     paramBlock        => A0
  218.         ; returns: 
  219.         ;     OSErr             <= D0
  220.         _PBOpenSync:    OPWORD    $A000
  221.     ELSE
  222.         IMPORT_CFM_FUNCTION    PBOpenSync
  223.     ENDIF
  224.  
  225. ;
  226. ; pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  227. ;
  228.     IF ¬ GENERATINGCFM THEN
  229.         ; parameters: 
  230.         ;     paramBlock        => A0
  231.         ; returns: 
  232.         ;     OSErr             <= D0
  233.         _PBOpenAsync:    OPWORD    $A400
  234.     ELSE
  235.         IMPORT_CFM_FUNCTION    PBOpenAsync
  236.     ENDIF
  237.  
  238. ;
  239. ; pascal OSErr PBOpenImmed(ParmBlkPtr paramBlock)
  240. ;
  241.     IF ¬ GENERATINGCFM THEN
  242.         ; parameters: 
  243.         ;     paramBlock        => A0
  244.         ; returns: 
  245.         ;     OSErr             <= D0
  246.         _PBOpenImmed:    OPWORD    $A200
  247.     ELSE
  248.         IMPORT_CFM_FUNCTION    PBOpenImmed
  249.     ENDIF
  250.  
  251. ;
  252. ; pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  253. ;
  254.     IF ¬ GENERATINGCFM THEN
  255.         ; parameters: 
  256.         ;     paramBlock        => A0
  257.         ; returns: 
  258.         ;     OSErr             <= D0
  259.         _PBCloseSync:    OPWORD    $A001
  260.     ELSE
  261.         IMPORT_CFM_FUNCTION    PBCloseSync
  262.     ENDIF
  263.  
  264. ;
  265. ; pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  266. ;
  267.     IF ¬ GENERATINGCFM THEN
  268.         ; parameters: 
  269.         ;     paramBlock        => A0
  270.         ; returns: 
  271.         ;     OSErr             <= D0
  272.         _PBCloseAsync:    OPWORD    $A401
  273.     ELSE
  274.         IMPORT_CFM_FUNCTION    PBCloseAsync
  275.     ENDIF
  276.  
  277. ;
  278. ; pascal OSErr PBCloseImmed(ParmBlkPtr paramBlock)
  279. ;
  280.     IF ¬ GENERATINGCFM THEN
  281.         ; parameters: 
  282.         ;     paramBlock        => A0
  283.         ; returns: 
  284.         ;     OSErr             <= D0
  285.         _PBCloseImmed:    OPWORD    $A201
  286.     ELSE
  287.         IMPORT_CFM_FUNCTION    PBCloseImmed
  288.     ENDIF
  289.  
  290. ;
  291. ; pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  292. ;
  293.     IF ¬ GENERATINGCFM THEN
  294.         ; parameters: 
  295.         ;     paramBlock        => A0
  296.         ; returns: 
  297.         ;     OSErr             <= D0
  298.         _PBReadSync:    OPWORD    $A002
  299.     ELSE
  300.         IMPORT_CFM_FUNCTION    PBReadSync
  301.     ENDIF
  302.  
  303. ;
  304. ; pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  305. ;
  306.     IF ¬ GENERATINGCFM THEN
  307.         ; parameters: 
  308.         ;     paramBlock        => A0
  309.         ; returns: 
  310.         ;     OSErr             <= D0
  311.         _PBReadAsync:    OPWORD    $A402
  312.     ELSE
  313.         IMPORT_CFM_FUNCTION    PBReadAsync
  314.     ENDIF
  315.  
  316. ;
  317. ; pascal OSErr PBReadImmed(ParmBlkPtr paramBlock)
  318. ;
  319.     IF ¬ GENERATINGCFM THEN
  320.         ; parameters: 
  321.         ;     paramBlock        => A0
  322.         ; returns: 
  323.         ;     OSErr             <= D0
  324.         _PBReadImmed:    OPWORD    $A202
  325.     ELSE
  326.         IMPORT_CFM_FUNCTION    PBReadImmed
  327.     ENDIF
  328.  
  329. ;
  330. ; pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  331. ;
  332.     IF ¬ GENERATINGCFM THEN
  333.         ; parameters: 
  334.         ;     paramBlock        => A0
  335.         ; returns: 
  336.         ;     OSErr             <= D0
  337.         _PBWriteSync:    OPWORD    $A003
  338.     ELSE
  339.         IMPORT_CFM_FUNCTION    PBWriteSync
  340.     ENDIF
  341.  
  342. ;
  343. ; pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  344. ;
  345.     IF ¬ GENERATINGCFM THEN
  346.         ; parameters: 
  347.         ;     paramBlock        => A0
  348.         ; returns: 
  349.         ;     OSErr             <= D0
  350.         _PBWriteAsync:    OPWORD    $A403
  351.     ELSE
  352.         IMPORT_CFM_FUNCTION    PBWriteAsync
  353.     ENDIF
  354.  
  355. ;
  356. ; pascal OSErr PBWriteImmed(ParmBlkPtr paramBlock)
  357. ;
  358.     IF ¬ GENERATINGCFM THEN
  359.         ; parameters: 
  360.         ;     paramBlock        => A0
  361.         ; returns: 
  362.         ;     OSErr             <= D0
  363.         _PBWriteImmed:    OPWORD    $A203
  364.     ELSE
  365.         IMPORT_CFM_FUNCTION    PBWriteImmed
  366.     ENDIF
  367.  
  368. ;
  369. ; pascal void AddDrive(short drvrRefNum, short drvNum, DrvQElPtr qEl)
  370. ;
  371.     IF ¬ GENERATINGCFM THEN
  372.         _AddDrive:    OPWORD    $A04E
  373.     ELSE
  374.         IMPORT_CFM_FUNCTION    AddDrive
  375.     ENDIF
  376.  
  377. ;
  378. ; pascal QHdrPtr GetDrvQHdr(void)
  379. ;
  380.     IF ¬ GENERATINGCFM THEN
  381.         Macro
  382.         _GetDrvQHdr
  383.             dc.w     $2EBC
  384.             dc.w     $0000
  385.             dc.w     $0308
  386.         EndM
  387.     ELSE
  388.         IMPORT_CFM_FUNCTION    GetDrvQHdr
  389.     ENDIF
  390.  
  391.     ENDIF
  392. ; Control Panel Default Proc 
  393. ;
  394. ; pascal DCtlHandle GetDCtlEntry(short refNum)
  395. ;
  396.     IF GENERATINGCFM THEN
  397.         IMPORT_CFM_FUNCTION    GetDCtlEntry
  398.     ENDIF
  399.  
  400. ;
  401. ;    SetChooserAlert used to simply set a bit in a low-mem global
  402. ;    to tell the Chooser not to display its warning message when
  403. ;    the printer is changed. However, under MultiFinder and System 7,
  404. ;    this low-mem is swapped out when a layer change occurs, and the
  405. ;    Chooser never sees the change. It is obsolete, and completely
  406. ;    unsupported on the PowerPC. 68K apps can still call it if they
  407. ;    wish.
  408. ;
  409.     IF OLDROUTINENAMES  ** ¬ GENERATINGCFM  THEN
  410. ;
  411. ; pascal Boolean SetChooserAlert(Boolean f)
  412. ;
  413.     IF GENERATINGCFM THEN
  414.         IMPORT_CFM_FUNCTION    SetChooserAlert
  415.     ENDIF
  416.  
  417.     ENDIF
  418. ;
  419. ;  Note: DrvrInstall() is no longer supported, becuase it never really worked anyways.
  420. ;          There will soon be a DriverInstall() which does the right thing.
  421. ;
  422. ;        DrvrRemove has been renamed to DriverRemove.  But, InterfaceLib for PowerPC
  423. ;        still exports DrvrRemove, so a macro is used to map the new name to old.
  424. ;
  425. ;
  426. ;
  427. ; pascal OSErr DrvrRemove(short refNum)
  428. ;
  429.     IF ¬ GENERATINGCFM THEN
  430.         ; parameters: 
  431.         ;     refNum            => D0
  432.         ; returns: 
  433.         ;     OSErr             <= D0
  434.         _DrvrRemove:    OPWORD    $A03E
  435.     ELSE
  436.         IMPORT_CFM_FUNCTION    DrvrRemove
  437.     ENDIF
  438.  
  439.     IF ¬ GENERATINGCFM THEN
  440.         _Open:             OPWORD      $A000
  441.         _Close:            OPWORD      $A001
  442.         _Read:             OPWORD      $A002
  443.         _Write:            OPWORD      $A003
  444.         _Control:          OPWORD      $A004
  445.         _Status:           OPWORD      $A005
  446.         _KillIO:           OPWORD      $A006
  447.     ENDIF
  448. ;
  449. ; pascal OSErr PBControlSync(ParmBlkPtr paramBlock)
  450. ;
  451.     IF ¬ GENERATINGCFM THEN
  452.         ; parameters: 
  453.         ;     paramBlock        => A0
  454.         ; returns: 
  455.         ;     OSErr             <= D0
  456.         _PBControlSync:    OPWORD    $A004
  457.     ELSE
  458.         IMPORT_CFM_FUNCTION    PBControlSync
  459.     ENDIF
  460.  
  461. ;
  462. ; pascal OSErr PBControlAsync(ParmBlkPtr paramBlock)
  463. ;
  464.     IF ¬ GENERATINGCFM THEN
  465.         ; parameters: 
  466.         ;     paramBlock        => A0
  467.         ; returns: 
  468.         ;     OSErr             <= D0
  469.         _PBControlAsync:    OPWORD    $A404
  470.     ELSE
  471.         IMPORT_CFM_FUNCTION    PBControlAsync
  472.     ENDIF
  473.  
  474. ;
  475. ; pascal OSErr PBControlImmed(ParmBlkPtr paramBlock)
  476. ;
  477.     IF ¬ GENERATINGCFM THEN
  478.         ; parameters: 
  479.         ;     paramBlock        => A0
  480.         ; returns: 
  481.         ;     OSErr             <= D0
  482.         _PBControlImmed:    OPWORD    $A204
  483.     ELSE
  484.         IMPORT_CFM_FUNCTION    PBControlImmed
  485.     ENDIF
  486.  
  487. ;
  488. ; pascal OSErr PBStatusSync(ParmBlkPtr paramBlock)
  489. ;
  490.     IF ¬ GENERATINGCFM THEN
  491.         ; parameters: 
  492.         ;     paramBlock        => A0
  493.         ; returns: 
  494.         ;     OSErr             <= D0
  495.         _PBStatusSync:    OPWORD    $A005
  496.     ELSE
  497.         IMPORT_CFM_FUNCTION    PBStatusSync
  498.     ENDIF
  499.  
  500. ;
  501. ; pascal OSErr PBStatusAsync(ParmBlkPtr paramBlock)
  502. ;
  503.     IF ¬ GENERATINGCFM THEN
  504.         ; parameters: 
  505.         ;     paramBlock        => A0
  506.         ; returns: 
  507.         ;     OSErr             <= D0
  508.         _PBStatusAsync:    OPWORD    $A405
  509.     ELSE
  510.         IMPORT_CFM_FUNCTION    PBStatusAsync
  511.     ENDIF
  512.  
  513. ;
  514. ; pascal OSErr PBStatusImmed(ParmBlkPtr paramBlock)
  515. ;
  516.     IF ¬ GENERATINGCFM THEN
  517.         ; parameters: 
  518.         ;     paramBlock        => A0
  519.         ; returns: 
  520.         ;     OSErr             <= D0
  521.         _PBStatusImmed:    OPWORD    $A205
  522.     ELSE
  523.         IMPORT_CFM_FUNCTION    PBStatusImmed
  524.     ENDIF
  525.  
  526. ;
  527. ; pascal OSErr PBKillIOSync(ParmBlkPtr paramBlock)
  528. ;
  529.     IF ¬ GENERATINGCFM THEN
  530.         ; parameters: 
  531.         ;     paramBlock        => A0
  532.         ; returns: 
  533.         ;     OSErr             <= D0
  534.         _PBKillIOSync:    OPWORD    $A006
  535.     ELSE
  536.         IMPORT_CFM_FUNCTION    PBKillIOSync
  537.     ENDIF
  538.  
  539. ;
  540. ; pascal OSErr PBKillIOAsync(ParmBlkPtr paramBlock)
  541. ;
  542.     IF ¬ GENERATINGCFM THEN
  543.         ; parameters: 
  544.         ;     paramBlock        => A0
  545.         ; returns: 
  546.         ;     OSErr             <= D0
  547.         _PBKillIOAsync:    OPWORD    $A406
  548.     ELSE
  549.         IMPORT_CFM_FUNCTION    PBKillIOAsync
  550.     ENDIF
  551.  
  552. ;
  553. ; pascal OSErr PBKillIOImmed(ParmBlkPtr paramBlock)
  554. ;
  555.     IF ¬ GENERATINGCFM THEN
  556.         ; parameters: 
  557.         ;     paramBlock        => A0
  558.         ; returns: 
  559.         ;     OSErr             <= D0
  560.         _PBKillIOImmed:    OPWORD    $A206
  561.     ELSE
  562.         IMPORT_CFM_FUNCTION    PBKillIOImmed
  563.     ENDIF
  564.  
  565. ;
  566. ; pascal short OpenDeskAcc(ConstStr255Param deskAccName)
  567. ;
  568.     IF ¬ GENERATINGCFM THEN
  569.         _OpenDeskAcc:    OPWORD    $A9B6
  570.     ELSE
  571.         IMPORT_CFM_FUNCTION    OpenDeskAcc
  572.     ENDIF
  573.  
  574. ;
  575. ; pascal void CloseDeskAcc(short refNum)
  576. ;
  577.     IF ¬ GENERATINGCFM THEN
  578.         _CloseDeskAcc:    OPWORD    $A9B7
  579.     ELSE
  580.         IMPORT_CFM_FUNCTION    CloseDeskAcc
  581.     ENDIF
  582.  
  583.     IF OLDROUTINENAMES  THEN
  584. ;
  585. ;    The PBxxx() routines are obsolete.  
  586. ;    
  587. ;    Use the PBxxxSync(), PBxxxAsync(), or PBxxxImmed version instead.
  588. ;
  589.     IF ¬ OLDROUTINELOCATIONS  THEN
  590.     ENDIF
  591.     ENDIF
  592.     ENDIF ; __DEVICES__
  593.